package com.dz.lm.dao.moneyBar.read;

import java.util.List;
import java.util.Map;



import com.dz.lm.common.exception.DaoException;
import com.dz.lm.common.utils.stereotype.ReaderRepository;
import com.dz.lm.domain.business.ApplyProduct;
import com.dz.lm.domain.moneybar.MoneyBar;
import com.dz.lm.domain.moneybar.AgentNode;
import com.dz.lm.domain.product.Product;

@ReaderRepository("readMoneyBarDao")
public interface MoneyBarDao {
	
	List<Map<String, Object>> searchMoneyBarList(Map<String, Object> qryParam) throws DaoException;
	
    Integer searchMoneyBarListCount(Map<String, Object> qryParam) throws DaoException;
    
    List<Map<String, Object>> searchMoneyBars(Map<String, Object> qryParam) throws DaoException;
    
    List<Map<String, Object>> homeMoneyBarList(Map<String, Object> qryParam) throws DaoException;
    
    Integer homeMoneyBarListCount(Map<String, Object> qryParam) throws DaoException;
    
    MoneyBar selectByPrimaryKey(Map<String, Object> qryParam) throws DaoException;
    
    List<Product> qryMoneyBarProductList(Map<String, Object> qryParam) throws DaoException;
    
    List<Product> qryMoneyBarProductList2(Map<String, Object> qryParam) throws DaoException;
    
    Integer qryMoneyBarProductListCount(Map<String, Object> qryParam) throws DaoException;
    
    List<Map<String, Long>> qryMoneyBarProductAgentCount(Map<String, Object> qryParam) throws DaoException;
    
    List<MoneyBar> qryMoneyBarListByUserId(Map<String, Object> qryParam) throws DaoException;
    
    List<ApplyProduct> qryMoneyBarApplyProductList(Integer productId) throws DaoException;
    
    List<ApplyProduct> qryMoneyBarApplyProductList2(Integer agentProductId) throws DaoException;
    
    Integer qryMoneyBarApplyProductListCount(Map<String, Object> qryParam) throws DaoException;
    
    List<AgentNode> qryMoneyBarAgentList(Map<String, Object> qryParam) throws DaoException;
    
    Map<String, Object> qryAgentProductByIds(Map<String, Object> qryParam) throws DaoException;

    Map<String, Object> getMoneyBarStateById(Map<String, Object> qryParam) throws DaoException;
    
    Integer qryFavoriteMoneyBarCnt(Map<String, Object> qryParam) throws DaoException;
    
    Integer qryMoneyBarProductAgentTotalCnt(Map<String, Object> qryParam) throws DaoException;
    
    List<Map<String, Object>> qryHomeMoneyBarList() throws DaoException;
    
    List<Map<String, Object>> qryMoneyBarList(Map<String, Object> qryParam) throws DaoException;
}
